<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>switch语句</title>
    </head>
    <body>
        <!-- switch语句的用途：当一个变量被分类讨论的情形。 -->
        <script>
            // 让用户输入年份
            var year = Number(prompt('请输入一个年份'));
            // 让用户输入一个月份
            var month = Number(prompt('请输入一个月份'));

            // 根据月份进行分类讨论
            switch (month) {                        // 在switch()的圆括号中一般是一个变量名，这个变量将被分类讨论
                case 1:                           
                case 3:                             // case表示“情况”，它后面没有圆括号，直接跟一个值。程序会依次
                case 5:                             // 将case后面的值与switch圆括号中的值进行全等对比，如果比对相
                case 7:                             // 同，则执行这条case冒号后面的语句。
                case 8: 
                case 10:                            // 多条case可以共用同一个语句体
                case 12: 
                    alert('这个月有31天');
                    break;                          // switch语句并不像if语句那样当执行了某一个分支之后会自动跳出if
                case 4:                             // 语句体，程序员必须主动调用break来跳出switch语句体。如果不书写
                case 6:                             // break，则后面的所有case都将被视为匹配，直到遇见break。
                case 9: 
                case 11: 
                    alert('这个月有30天');
                    break;
                case 2:
                    // 根据用户输入的year计算一下当年是不是闰年 
                    // 闰年判断
                    // 公立闰年的简单计算方法（符合以下条件之一即可)
                    //      1.能被4整除且不能被100整除
                    //      2.能被100整除也能被400整除
                    if (year % 4 == 0 && year % 100 != 0 || year % 100 == 0 && year % 400  == 0) {
                        // 是闰年
                        alert('这个月有29天');
                    }else {
                        alert('这个月有28天');
                    }
                    alert('这个月有28天或29天');
                    break;
                default:                             // default表示默认情况，如果上面的对比结果都不相同，则会默认执行default
                    alert('你输入的月份有误');
            }
        </script>
    </body>
</html>